import { Entity, PrimaryColumn, Column } from 'typeorm';
import { CommonEntity } from '@entity/common.entity';

// 参数配置表 -  实体类
@Entity('jx3_model', { comment: '脸型与体型表' })
export class ModelEntity extends CommonEntity {
  // 唯一Id标识，varchar(100)
  @PrimaryColumn()
  id: string; // 可以是 number、string 等类型，根据你的需求选择

  // 封面，varchar(255)
  @Column({
    type: 'varchar',
    length: 255,
    name: 'model_url',
    comment: '封面',
  })
  modelUrl: string;

  // 模型代码，varchar(100)
  @Column({
    type: 'varchar',
    length: 100,
    name: 'model_code',
    comment: '模型代码',
  })
  modelCode: string;

  // 名称，varchar(255)
  @Column({
    type: 'varchar',
    length: 255,
    name: 'name',
    comment: '名称',
  })
  name: string;

  // 1脸型  2体型，int(11)
  @Column({
    type: 'int',
    name: 'model_type',
    comment: '1脸型  2体型',
  })
  modelType: number;

  // 体型  1成男 2正太 3成女 4萝莉，int(11)
  @Column({
    type: 'int',
    name: 'body_type',
    comment: '体型  1成男 2正太 3成女 4萝莉',
  })
  bodyType: number;

  // 脸型类型 1写实 2写意，int(11)
  @Column({
    type: 'int',
    name: 'face_type',
    comment: '脸型类型 1写实 2写意',
  })
  faceType: number;

  // 模型描述，varchar(500)
  @Column({
    type: 'varchar',
    length: 500,
    name: 'model_desc',
    comment: '模型描述',
    nullable: true,
  })
  modelDesc: string;

  // 审核意见，varchar(500)
  @Column({
    type: 'varchar',
    length: 500,
    name: 'audit_opinion',
    comment: '审核意见',
    nullable: true,
  })
  auditOpinion: string;

  // 来源，varchar(100)
  @Column({
    type: 'varchar',
    length: 100,
    name: 'source',
    comment: '来源',
    nullable: true,
  })
  source: string;

  // 1待审核 2审核中，int(10)
  @Column({
    type: 'int',
    name: 'audit_status',
    comment: '1待审核 2审核中',
    nullable: true,
  })
  auditStatus: number;

  // 用户id，varchar(50)
  @Column({
    type: 'varchar',
    length: 50,
    name: 'user_id',
    comment: '用户id',
  })
  userId: string;

  // 创建人，varchar(100)
  @Column({
    type: 'varchar',
    length: 100,
    name: 'create_by',
    comment: '创建人',
  })
  createBy: string;

  // 创建时间，datetime(无上限)
  @Column({
    type: 'datetime',
    name: 'create_time',
    comment: '创建时间',
  })
  createTime: string;

  // 更新时间，datetime(无上限)
  @Column({
    type: 'datetime',
    name: 'update_time',
    comment: '更新时间',
  })
  updateTime: string;

  // 更新人，varchar(100)
  @Column({
    type: 'varchar',
    length: 100,
    name: 'update_by',
    comment: '更新人',
  })
  updateBy: string;
}
